package com.fruit.logistics.sf.pojo.order;

import com.joe.utils.parse.xml.XmlNode;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 顺丰发快递请求报文中的Cargo
 *
 * @author joe
 * @version 2018.02.05 15:45
 */
@Data
public class Cargo {
    /**
     * 货物名称，如果需要生成电子运单，则为必填。
     */
    @XmlNode(isAttribute = true, attributeName = "name")
    private String name;
    /**
     * 货物数量
     * <p>
     * 跨境件报关需要填写
     */
    @XmlNode(isAttribute = true, attributeName = "count")
    private Byte count;
    /**
     * 货物单位，如：个、台、本，跨境件报关需要填写。
     */
    @XmlNode(isAttribute = true, attributeName = "unit")
    private String unit;
    /**
     * 订单货物单位重量，包含子母件，单位千克，精确到小数点后3位跨境件报关需要填写。
     */
    @XmlNode(isAttribute = true, attributeName = "weight")
    private BigDecimal weight;
    /**
     * 货物单价，精确到小数点后3位，跨境件报关需要填写。
     */
    @XmlNode(isAttribute = true, attributeName = "amount")
    private BigDecimal amount;
    /**
     * 货物单价的币别：
     * <p>
     * CNY: 人民币
     * <p>
     * HKD: 港币
     * <p>
     * USD: 美元
     * <p>
     * NTD: 新台币
     * <p>
     * RUB: 卢布
     * <p>
     * EUR: 欧元
     * <p>
     * MOP: 澳门元
     * <p>
     * SGD: 新元
     * <p>
     * JPY: 日元
     * <p>
     * KRW: 韩元
     * <p>
     * MYR: 马币
     * <p>
     * VND: 越南盾
     * <p>
     * THB: 泰铢
     * <p>
     * AUD: 澳大利亚元
     * <p>
     * MNT: 图格里克
     * <p>
     * 跨境件报关需要填写。
     */
    @XmlNode(isAttribute = true, attributeName = "currency")
    private String currency;
    /**
     * 原产地国别，跨境件报关需要填写。
     */
    @XmlNode(isAttribute = true, attributeName = "source_area")
    private String sourceArea;
    /**
     * 货物产品国检备案编号
     */
    @XmlNode(isAttribute = true, attributeName = "product_record_no")
    private String productRecordNo;
    /**
     * 商品海关备案号
     */
    @XmlNode(isAttribute = true, attributeName = "good_prepard_no")
    private String goodPrepardNo;
    /**
     * 商品行邮税号
     */
    @XmlNode(isAttribute = true, attributeName = "tax_no")
    private String taxNo;
}
